5 research outputs found

    Large-Scale Microtask Programming

    Full text link
    To make microtask programming more efficient and reduce the potential for conflicts between contributors, I developed a new behavior-driven approach to microtasking programming. In our approach, each microtask asks developers to identify a behavior behavior from a high-level description of a function, implement a unit test for it, implement the behavior, and debug it. It enables developers to work on functions in isolation through high-level function descriptions and stubs. In addition, I developed the first approach for building microservices through microtasks. Building microservices through microtasks is a good match because our approach requires a client to first specify the functionality the crowd will create through an API. This API can then take the form of a microservice description. A traditional project may ask a crowd to implement a new microservice by simply describing the desired behavior in a API and recruiting a crowd. We implemented our approach in a web-based IDE, \textit{Crowd Microservices}. It includes an editor for clients to describe the system requirements through endpoint descriptions as well as a web-based programming environment where crowd workers can identify, test, implement, and debug behaviors. The system automatically creates, manages, assigns microtasks. After the crowd finishes, the system automatically deploys the microservice to a hosting site.Comment: 2 page, 1 figure, GC VL/HCC 2020, Graduate Consortiu

    Find Unique Usages: Helping Developers Understand Common Usages

    Full text link
    When working in large and complex codebases, developers face challenges using \textit{Find Usages} to understand how to reuse classes and methods. To better understand these challenges, we conducted a small exploratory study with 4 participants. We found that developers often wasted time reading long lists of similar usages or prematurely focused on a single usage. Based on these findings, we hypothesized that clustering usages by the similarity of their surrounding context might enable developers to more rapidly understand how to use a function. To explore this idea, we designed and implemented \textit{Find Unique Usages}, which extracts usages, computes a diff between pairs of usages, generates similarity scores, and uses these scores to form usage clusters. To evaluate this approach, we conducted a controlled experiment with 12 participants. We found that developers with Find Unique Usages were significantly faster, completing their task in 35% less time

    Smart Homes for Elderly Healthcare—Recent Advances and Research Challenges

    No full text
    Advancements in medical science and technology, medicine and public health coupled with increased consciousness about nutrition and environmental and personal hygiene have paved the way for the dramatic increase in life expectancy globally in the past several decades. However, increased life expectancy has given rise to an increasing aging population, thus jeopardizing the socio-economic structure of many countries in terms of costs associated with elderly healthcare and wellbeing. In order to cope with the growing need for elderly healthcare services, it is essential to develop affordable, unobtrusive and easy-to-use healthcare solutions. Smart homes, which incorporate environmental and wearable medical sensors, actuators, and modern communication and information technologies, can enable continuous and remote monitoring of elderly health and wellbeing at a low cost. Smart homes may allow the elderly to stay in their comfortable home environments instead of expensive and limited healthcare facilities. Healthcare personnel can also keep track of the overall health condition of the elderly in real-time and provide feedback and support from distant facilities. In this paper, we have presented a comprehensive review on the state-of-the-art research and development in smart home based remote healthcare technologies
    corecore